package at.fhj.antesk.steamvaluecalc.data;

import java.util.List;

import at.fhj.antesk.steamvaluecalc.enums.PrivacyState;
import at.fhj.antesk.steamvaluecalc.enums.VisibilityState;


public class Profile {

    private String profileId; // steamID64
    private String name; // steamID
    private PrivacyState privacyState;
    private VisibilityState visibilityState;
    private String avatarIconUrl; // medium: append("_medium"), full: full
    private String customUrl;
    private String location;
    private String realName;
    private String summary;
    private List<Game> games;
    
    public String getProfileId() {
        return profileId;
    }
    
    public void setProfileId(String profileId) {
        this.profileId = profileId;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public PrivacyState getPrivacyState() {
        return privacyState;
    }
    
    public void setPrivacyState(PrivacyState privacyState) {
        this.privacyState = privacyState;
    }
    
    public VisibilityState getVisibilityState() {
        return visibilityState;
    }
    
    public void setVisibilityState(VisibilityState visibilityState) {
        this.visibilityState = visibilityState;
    }
    
    public String getAvatarIconUrl() {
        return avatarIconUrl;
    }
    
    public void setAvatarIconUrl(String avatarIconUrl) {
        this.avatarIconUrl = avatarIconUrl;
    }
    
    public String getCustomUrl() {
        return customUrl;
    }
    
    public void setCustomUrl(String customUrl) {
        this.customUrl = customUrl;
    }
    
    public String getLocation() {
        return location;
    }
    
    public void setLocation(String location) {
        this.location = location;
    }
    
    public String getRealName() {
        return realName;
    }
    
    public void setRealName(String realName) {
        this.realName = realName;
    }
    
    public String getSummary() {
        return summary;
    }
    
    public void setSummary(String summary) {
        this.summary = summary;
    }

    
    public List<Game> getGames() {
        return games;
    }

    
    public void setGames(List<Game> games) {
        this.games = games;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((profileId == null) ? 0 : profileId.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Profile other = (Profile)obj;
        if (profileId == null) {
            if (other.profileId != null)
                return false;
        } else if (!profileId.equals(other.profileId))
            return false;
        return true;
    }

    @Override
    public String toString() {
        return "Profile [profileId=" + profileId + ", name=" + name + ", privacyState=" + privacyState
            + ", visibilityState=" + visibilityState + ", avatarIconUrl=" + avatarIconUrl + ", customUrl=" + customUrl
            + ", location=" + location + ", realName=" + realName + ", summary=" + summary + ", games=" + games + "]";
    }

    
    
}
